package com.ccp.dev.workflow.model;

import com.ccp.dev.workflow.model.bpm.TaskExecutor;

import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 * ClassDescribe: 流程节点Id及节点用户列表的映射实体类
 * @author :jiayueqiao
 * Date: 2019-06-12
 * Since:1
 */
public class NodeUserMap {

    /**
     * 设置id
     */
    private String setId;
    /**
     * 节点id
     */
    private String nodeId;
    /**
     * 节点名称
     */
    private String nodeName;
    /**
     * 节点人员映射列表
     */
    private List<BpmNodeUser> nodeUserList;
    /**
     * 节点人员映射列表
     */
    private List<BpmUserCondition> bpmUserConditionList;

    /**
     * 节点人员
     */
    private Set<TaskExecutor> taskExecutors=new HashSet<TaskExecutor>();

    /**
     * 是否为多实例节点
     */
    private boolean isMultipleInstance;

    public NodeUserMap()
    {
    }

    public NodeUserMap(String setId,String nodeId,String nodeName,List<BpmNodeUser> nodeUserList)
    {
        this.setId=setId;
        this.nodeId=nodeId;
        this.nodeName=nodeName;
        this.nodeUserList=nodeUserList;
    }

    public NodeUserMap(String nodeId,String nodeName,Set<TaskExecutor> taskExecutors){
        this.nodeId=nodeId;
        this.nodeName=nodeName;
        this.taskExecutors=taskExecutors;
    }


    public NodeUserMap(String nodeId,String nodeName,Set<TaskExecutor> taskExecutors,boolean isMultipleInstance){
        this.nodeId=nodeId;
        this.nodeName=nodeName;
        this.taskExecutors=taskExecutors;
        this.isMultipleInstance=isMultipleInstance;
    }

    public String getSetId() {
        return setId;
    }

    public void setSetId(String setId) {
        this.setId = setId;
    }

    public String getNodeId() {
        return nodeId;
    }

    public void setNodeId(String nodeId) {
        this.nodeId = nodeId;
    }

    public String getNodeName() {
        return nodeName;
    }

    public void setNodeName(String nodeName) {
        this.nodeName = nodeName;
    }

    public List<BpmUserCondition> getBpmUserConditionList() {
        return bpmUserConditionList;
    }

    public void setBpmUserConditionList(List<BpmUserCondition> bpmUserConditionList) {
        this.bpmUserConditionList = bpmUserConditionList;
    }

    public List<BpmNodeUser> getNodeUserList()
    {
        return nodeUserList;
    }

    public void setNodeUserList(List<BpmNodeUser> nodeUserList)
    {
        this.nodeUserList = nodeUserList;
    }

    public Set<TaskExecutor> getTaskExecutors() {
        return taskExecutors;
    }

    public void setTaskExecutors(Set<TaskExecutor> users) {
        this.taskExecutors = users;
    }

    public boolean isMultipleInstance() {
        return isMultipleInstance;
    }

    public void setMultipleInstance(boolean isMultipleInstance) {
        this.isMultipleInstance = isMultipleInstance;
    }
}
